Reading Time: 1 minutes
米Facebook社で2021年10月5日に障害が発生し、Facebook、Instagram、Facebook Messenger、WhatsAppなどのサービスにログインできなくなる事態に発展しました(発生約6時間後に復旧)。
この障害の原因は「コンフィグ変更時のミス」とされています。
大きな障害に繋がりうるコンフィグとはいったいなにか。
同様の障害に対応するために企業の情シスはどうしたらよいのか。
詳しく解説します。
2021年10月のFacebook大規模障害について
まずは今回の障害の概要をおさえておきましょう。
障害の概要
10月5日午前0時40分ごろ(日本時間)、Facebook、Instagram、Facebook Messenger、WhatsApp、Oculusのサービスにログインしにくくなるという問題が発生しました。
We’re aware that some people are having trouble accessing our apps and products. We’re working to get things back to normal as quickly as possible, and we apologize for any inconvenience.
— Facebook (@Facebook) October 4, 2021
アクセスできない状態は同日午前8時ごろまで続き、世界中のユーザーに影響を及ぼしました。
ここ数年の同社で最悪のサービス停止とも言われ、世界経済に1億6,000万ドル(約177億5,000万円)の損失を生んだほか、Facebookの株価も約5%下落したとの推定が出ています。
障害の原因
Facebookのインフラストラクチャー担当副社長Santosh Janardhan氏によると、定期メンテナンス作業中のコンフィグ変更ミスが原因だったようです。
同氏のコメントを詳しく見てみましょう。
当社のエンジニアリングチームは、データセンター間のネットワークトラフィックを調整するバックボーンルーターのコンフィグレーション変更により、今回の通信が中断される問題が発生したことを突き止めました。このネットワークトラフィックの中断は、データセンターの通信方法に連鎖的な影響を及ぼし、サービスを停止させました。
(中略)その根本的な原因は、私たちの側での誤ったコンフィグレーション変更でした。また、このダウンタイムの結果としてユーザーデータが危険にさらされたという証拠もありません。
出典:「Update about the October 4th outage – Facebook Engineering」を基に当社が翻訳
バックボーンルーターとは、エリア間をつなぐ役割を持つルーターのことです。
Facebookは世界中でデータセンターを運用しており、各データセンターを専用のバックボーンネットワークで接続しています。
このバックボーンネットワークの定期メンテナンス時に、人為的なコンフィグ変更ミスが起き、通信できなくなってしまったというのが発端のようです。
なお、Facebookはわずか4日後にもコンフィグ変更を原因とする別の障害を引き起こしています。
今回の問題も「コンフィグの変更」によるものだが、前回の大規模障害とは無関係だと語った。
Facebookほどの大企業をたびたび悩ませるコンフィグとはいったいなんなのでしょうか。
次の章で詳しく解説します。
障害の原因となったネットワークコンフィグとは
ネットワークコンフィグの概要と、これが大きな障害につながる理由の順に見ていきましょう。
ネットワークコンフィグの概要
ネットワークコンフィグとは、ルーターやスイッチといったネットワーク機器の設定全般のことです。
ネットワーク機器は、購入した時点ではただのちょっと重い箱です。
これにLANケーブルを挿してもまだ通信はできません。
この箱に適切なコンフィグ、つまり設定をインプットすることで、ルーティングやVLANやACLといった機能を使えるようになり、コンピューターとコンピューターをつなぐネットワークを構成することができます。
(ネットワークコンフィグの例)
なぜコンフィグの作業ミスは大きな障害につながるのか
多くの企業では、大量のコンピューターを相互接続し、組み合わせて使うことで、複雑なITシステムやWebアプリケーションを稼働させています。
そのため、コンピューター間の通信を中断させるコンフィグのミスは、システム全体の停止につながります。
今回のFacebookの障害も、発端はほんの些細な誤りでした。
ただ同社が世界中に保有する大量のサーバー間での通信ができなくなり、結果としてシステム全体がダウンしてしまうという状況に陥りました。
ネットワークコンフィグはネットワークを構成する柱とも言えるため、適切に管理しなければ大きな障害につながってしまうのです。
それでは、コンフィグを適切に管理し大きな障害を防ぐためにはどうすればよいのでしょうか。
次の章で見ていきましょう。
コンフィグを効果的に管理するコツ
ネットワーク管理の大前提
まず前提として、障害は必ず起こるものと考え、常日頃から障害に備えておくことが非常に重要です。
どんなに充実した管理体制を準備しても、障害の数をゼロにすることはできません。
そのため、障害が起こった後にどれだけ迅速に対応できるかが、障害のインパクトを大きく左右するポイントとなります。
実際に、Facebookでは「Storm Drills」(嵐の訓練)と呼ぶシステム障害対応を日ごろから実施していました。
これによって、今回の障害でも相対的に短い時間で、しかも安全にシステムを復旧できたとされています。
コンフィグ管理ベストプラクティス
上記の前提に加え、具体的な5つのコンフィグ管理ベストプラクティスを見ていきましょう。
バックアップを定期的に取得する
コンフィグ変更作業のミスが起きたり、停電によって機器のコンフィグが失われたりした場合、コンフィグのバックアップを投入することで迅速に復旧させることができます。
そのため、緊急時にすぐにアップロードできる状態のバックアップを定期的に取得することが必要です。
安定したバージョンのベースラインコンフィグのほか、変更が発生した場合には最新のコンフィグを常に保管するようにしましょう。
また、機器を再起動しても変更が反映されるように、ランニング・コンフィグをスタートアップ・コンフィグと同期させておくことも重要です。
役割に応じたアクセス管理を導入し、未承認の変更を防ぐ
ネットワークコンフィグは大きな影響を持つため、誰にでも変更できる状態にしてはいけません。
コンフィグ変更等の作業を担当する実務担当者と、変更する際の承認者を取り決め、それぞれの役割に応じたアクセス制限をしましょう。
また、承認なしにコンフィグ変更を適用することができないよう、変更作業時のプロセス整備も必要です。
コンフィグに関する作業を記録し、変更時に通知を受け取る
変更時の作業が適切に実施されたとしても、ミスや障害が起こる可能性はあります。
万が一、なにかの問題が発生してしまった場合、即座に問題箇所を特定することで迅速な復旧ができます。
原因を絞り込むため、コンフィグの変更箇所、変更した担当者、変更を行った日時を常に記録するようにしましょう。
また、変更が発生したときに通知を受け取る仕組みを作ることで、障害時に迅速に対応することができるようになります。
単純作業を自動化し、CLIを使う作業量を減らす
CLI(コマンド・ライン・インターフェース)での頻繁に操作をすることで、人為的ミスを起こす可能性が高くなります。
なるべくCLIでの作業を行わないよう、ルーチンワークを自動化することは非常に有効です。
コンフィグ管理ツールの中には、特定のコマンドを複数の機器にまとめて入力したり、定期的に自動でコマンド投入したりできるものがあります。
このような機能を活用することで、たとえば、大量のネットワーク機器のSNMPを有効化したり、Syslogサーバーにログを送信するような設定を自動化することが可能です。
作業の自動化によってコマンド操作を極力なくし、リスクを減らしましょう。
業界等のコンプライアンス基準に基づいてポリシーを作成し、定期的にチェックする
各業界や政府が定めているコンプライアンス基準を確認し、これを常に満たすようなチェック体制を整備しましょう。
米国のHIPPA(医療保険の相互運用性と説明責任に関する法令)のように、各国の政府や業界ごとにコンプライアンス基準を設けている場合があります。
ネットワークでも基準が示されているケースもあるため、法務担当と連携し法令を遵守する必要があります。
定期的にコンプライアンステストを実施し、すべてのデバイスが最新の規制に準拠していることを確認しましょう。
ネットワークコンフィグ管理のベストプラクティスは以下のeBookでより詳しく解説しています。
コンフィグを安全に管理し、安定したネットワークを実現しよう
前の章で述べたベストプラクティスを実践することで、障害発生の確立を減らし、さらに障害発生時に迅速な復旧ができるようになります。
ただし、これらを手作業で実践するのは非常に困難です。
必要に応じ、ネットワークコンフィグ管理ツールを活用しましょう。
市場に出回っているツールの中には、本記事のベストプラクティスを簡単に実現できる機能が備わっているものがあります。
自社に必要な機能を見極め、適切なツールを選択することでコンフィグを安全に管理しましょう。
Network Configuration Managerについて
当社では、ネットワークコンフィグ管理ツール「Network Configuration Manager」を提供しています。
コンフィグの自動バックアップやコンフィグの自動投入、機器の脆弱性管理などの豊富な機能を備えています。
また、特別な専門知識なしでも使いやすい操作性や、低価格で導入できるコストパフォーマンスが好評を得ています。
「Network Configuration Manager」をより詳しく知りたい方は、下記の資料等をぜひご覧ください。
コンフィグ管理について口頭で細かく聞いてみたい方は、お気軽に無料のオンライン相談にお申し込みください。
無料オンライン相談に申込む
フィードバックフォーム
当サイトで検証してほしいこと、記事にしてほしい題材などありましたら、以下のフィードバックフォームよりお気軽にお知らせください。